//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////@

Skiniko.prototype.skinikoKinisiPush = function(kinisi, enimerosi) {
	if (Debug.flagGet('monitor') && kinisi)
	console.log('kinisi push (' + kinisi.kinisiIdosGet() + ')');

	if (kinisi)
	this.kinisi.push(kinisi);

	if (enimerosi === undefined)
	enimerosi = true;

	if (enimerosi)
	this.skinikoKinisiEnimerosi();

	return this;
};

Skiniko.prototype.skinikoKinisiEnimerosi = function() {
	var skiniko = this;

	if (Debug.flagGet('monitor'))
	console.log('update clients');

	this.skinikoSinedriaWalk(function() {
		this.feredataMetavoles();
	});

	return this;
};

Kinisi.prototype.isAdiafori = function(sinedria) {
	var proc;

	proc = 'isAdiafori' + this.idos;
	if (typeof this[proc] !== 'function')
	return false;

	return this[proc](sinedria);
};

Kinisi.prototype.apostoli = function(sinedria) {
	var nodereq;

	nodereq = sinedria.feredataGet();
	if (!nodereq)
	return this;

	nodereq.write('\t{\n\t\tidos: ' + this.idos.json() + ',\n');
	if (this.hasOwnProperty('data')) {
		nodereq.write('\t\tdata: ');
		nodereq.write(this[this.isProsarmogi(sinedria) ?  'dataProsarmosmena' : 'dataPliri']);
	}
	nodereq.write('\n\t},\n');

	return this;
};

Kinisi.prototype.isProsarmogi = function(sinedria) {
	var proc = 'prosarmogi' + this.idos;
	if ((typeof this[proc] === 'function') && this[proc](sinedria)) return true;

	if (this.hasOwnProperty('dataPliri'))
	return false;

	this.dataPliri = JSON.stringify(this.data);
	return false;
};

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////@

Kinisi.prototype.isAdiaforiSL = function(sinedria) {
	return(sinedria.sinedriaPektisGet() == this.data.pektis);
};

Kinisi.prototype.isAdiaforiNK = function(sinedria) {
	var pektis;

	pektis = sinedria.sinedriaPektisGet();
	if (this.data.kafenio.dimiourgos == pektis)
	return false;

	pektis = skiniko.skinikoPektisGet(pektis);
	if (!pektis)
	return true;

	return pektis.pektisOxiEpoptis();
};
